home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC Zone 92
/
DPPCZ0800.7z
/
DPPCZ0800.ISO
/
Demos
/
Star Trek - Armada
/
armada_demo.exe
/
data
/
misc
/
aipdef.h
next >
Wrap
C/C++ Source or Header
|
1999-09-17
|
4KB
|
99 lines
///////////////////////////////////////////////////////////////////////////////
// UCP Data Structure
// -------------------
// Default Unit Construction Program Definition.
// When no other task demands a Construction Program, build according
// to this program.
struct UNIT_CONSTRUCTION_PROGRAM
{
char account_name[80]; // The names of the budgetary accounts
int budget; // How much money gets fed into account
int max_reserve;
};
#define UNLIMITED -1
#define MAX_UCP_LENGTH 20
///////////////////////////////////////////////////////////////////////////////
// ACCOUNT Data Structure
// -------------------
// Default Unit Construction Program Definition.
// When no other task demands a Construction Program, build according
// to this program.
struct ACCOUNT
{
int priority; // What level of priority does this element have
char item_name[80]; // What sort of thing should we buy/build?
int build_type; // Do we want fixed amounts, ratios, or what?
int build_amount; // How much of something (or what ratio) do we want.
};
#define NUMBER_TO_HAVE 0
#define NUMBER_TO_BUILD 1
#define RATIO_TO_BUILD 2
#define RATIO_TO_HAVE 3
#define MAX_ACCOUNT_LENGTH 50
///////////////////////////////////////////////////////////////////////////////
// Force Matching Data Structure
// -------------------
// Unit Force matching modification definition.
// All units in the game have a calculated unit strength which is roughly
// (Damage_Dealt * Hitpoints)/Rate_of_fire (there is a minimum strength, too)
// this allows the designer to assign coefficients to the strengths of particular
// units (such as "Tachyon Tank" 2.0, which would double the apparent strength).
struct FORCE_MATCHING
{
char unit_name[80]; // The name of the unit type
float multiplier; // How much by which to multiply its strength
};
#define MAX_FORCE_MATCHING 100
///////////////////////////////////////////////////////////////////////////////
// Unit Match-up Data Structure
// -------------------
// Unit Force matching modification definition.
// All units in the game have a calculated unit strength which is roughly
// (Damage_Dealt * Hitpoints)/Rate_of_fire (there is a minimum strength, too)
// this allows the designer to assign coefficients to the strengths of particular
// units (such as "Tachyon Tank" 2.0, which would double the apparent strength).
struct MATCH_UPS
{
char unit_name[80]; // The name of the unit type we may see
char match_up_name[80]; // The sort of unit to build to match this
};
#define MAX_MATCH_UPS 100
/////////////////////////////////////////////////////////////////////////////
// BUILDING MATCHING
// --------------
// Which buildings do we want to emphasize & target with this aip?
// Note that this can be used for BOTH the AI team's unit strengths and
// the opponents'
// Where would we want to build the buildings if we could build them?
/////////////////////////////////////////////////////////////////////////////
struct BUILDING_MATCHING
{
char unit_name[80]; // The name of the unit type
float multiplier; // How much by which to multiply its strength
int build_pos; // How much by which to multiply its strength
};
#define MAX_BUILDINGS 100
#define DONT_CARE 0
#define CENTER_OF_BASE 1
#define PERIMETER 2
#define OUTSIDE_OF_BASE 3
#define NEAR_ENEMY_BASE 4
#define NEAR_ENEMY_TROOPS 5